List of JavaScript engines
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
The first engines for JavaScript were mere interpreters of the source code, but all relevant modern engines use just-in-time compilation for improved performance.cite-ref-1[1] JavaScript engines are typically developed by web browser vendors, and every major browser has one. In a browser, the JavaScript engine runs in concert with the rendering engine via the Document Object Model and Web IDL bindings.cite-ref-2[2] However, the use of JavaScript engines is not limited to browsers; for example, the V8 engine is a core component of the Node.js runtime system.cite-ref-v8-doc-3-0[3] They are also called ECMAScript engines, after the official name of the specification. With the advent of WebAssembly, some engines can also execute this code in the same sandbox as regular JavaScript code.cite-ref-wasm-4-0[4]cite-ref-v8-doc-3-1[3]
Contents
β’ History
β’ List
β’ References
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
History
The first JavaScript engine was created by Brendan Eich in 1995 for the Netscape Navigator web browser.cite-ref-eich-history-5-0[5] It was a rudimentary interpreter for the nascent language Eich invented.cite-ref-6[6] (This evolved into the SpiderMonkey engine, still used by the Firefox browser.cite-ref-eich-history-5-1[5]) Google debuted its Chrome browser in 2008, with the V8 JavaScript engine that was faster than its competition.cite-ref-7[7]cite-ref-8[8] The key innovation was just-in-time compilation (JIT), which Mozilla had also been working on for SpiderMonkey.cite-ref-9[9] Because of V8's performance, the other browser vendors needed to overhaul their engines for JIT.cite-ref-10[10] Apple developed the Nitro engine for its Safari browser, which had 30% better performance than its predecessor.cite-ref-11[11] Mozilla then leveraged portions of Nitro to improve SpiderMonkey.cite-ref-therace10-12-0[12] Since 2017, these engines have added support for WebAssembly.cite-ref-wasm-4-1[4]
List
| Engine | Description |
|---|---|
| V8 | A JavaScript engine used in Google Chro⦠|
| SpiderMonkey | A JavaScript engine in Mozilla Gecko ap⦠|
| JavaScriptCore | A JavaScript interpreter and JIT origin⦠|
| KJS | The engine used in Konqueror , and one⦠|
| JScript | The engine that is used in Internet Exp⦠|
| Chakra (JScript9) | A JScript engine used in Internet Explo⦠|
| Chakra | A JavaScript engine used in Microsoft E⦠|
| Linear B | The ECMAScript engine of the Opera web⦠|
| Futhark | The ECMAScript engine of the Opera web⦠|
| Carakan | A JavaScript engine developed by Opera⦠|
| Graal.js | An ECMAScript compliant JavaScript engi⦠|
| Rhino | One of several JavaScript engines from⦠|
| Nashorn | A JavaScript engine used in Oracle Java⦠|
| JScript .NET | A .NET Framework JScript engine used in⦠|
| Tamarin | An ActionScript and ECMAScript engine u⦠|
| GNU Guile | features an ECMAScript interpreter as o⦠|
| iv | ECMAScript Lexer / Parser / Interpreter⦠|
| CL-JavaScript | Can compile JavaScript to machine langu⦠|
| BESEN | A complete JIT-compiling implementation⦠|
| Hermes | developed by Facebook for React Native⦠|
| Continuum | A self-interpreter that supports older⦠|
| InScript | An obsolete proprietary library used fo⦠|
| Jint | Javascript interpreter with integrated⦠|
| Narcissus | JavaScript implemented in JavaScript (a⦠|
| JS-Interpreter | A lightweight JavaScript interpreter im⦠|
| QtScript | Originally developed by Trolltech, now⦠|
| V4 (QJSEngine) | Qt's newer ECMAScript engine, powering⦠|
| YAJI | An ECMAScript engine based on the FESI⦠|
| Microvium | JavaScript engine for microcontrollers,β¦ |
| Duktape | A small footprint, easily embeddable Ec⦠|
| XS JavaScript Engine | An ECMAScript 2020-compliant engine for⦠|
| Jsish | An ES5.1 subset interpreter with builti⦠|
| Espruino | A very small footprint interpreter spec⦠|
| MuJS | A lightweight ECMAScript interpreter li⦠|
| mJS | Restricted JavaScript engine. Used for⦠|
| Tiny-JS | A minimal JavaScript interpreter writte⦠|
| JerryScript | A lightweight JavaScript engine by Sams⦠|
| njs | A lightweight JavaScript interpreter op⦠|
| quickjs | A lightweight ECMAScript 6 interpreter⦠|
| engine262 | A JavaScript engine written in JavaScri⦠|
| Boa | A JavaScript engine written in Rust . |
| ScriptEase | An old proprietary engine last updated⦠|
| LibJS | JavaScript engine of the SerenityOS and⦠|
| Kiesel | JavaScript engine by Linus Groh written⦠|
References
cite-note-22. β "How Blink Works". Google. Retrieved 12 March 2024.
cite-note-v8-doc-33. β "Documentation Β· V8". Google. Retrieved 3 March 2024.
cite-note-wasm-44. β citerefnelaturuNelaturu, Keerthi. "WebAssembly: What's the big deal?". medium.com. Retrieved 3 March 2024.
cite-note-eich-history-55. β citerefeich2011Eich, Brendan (21 June 2011). "New JavaScript Engine Module Owner".
cite-note-66. β citereffin-js2016Fin JS (17 June 2016), "Brendan Eich β CEO of Brave", YouTube, retrieved 7 February 2018
cite-note-77. β "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. 3 July 2009. Archived from the original on 2 May 2012. Retrieved 28 June 2010.
cite-note-88. β citerefpurdy2009Purdy, Kevin (11 June 2009). "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. Archived from the original on 14 April 2021. Retrieved 8 May 2021.
cite-note-99. β "TraceMonkey: JavaScript Lightspeed, Brendan Eich's Blog". Archived from the original on 4 December 2015. Retrieved 22 July 2020.
cite-note-1010. β "Mozilla asks, 'Are we fast yet?'". Wired. Archived from the original on 22 June 2018. Retrieved 18 January 2019.
cite-note-1111. β Safari 5 Released
cite-note-therace10-1212. β citerefshankland2010Shankland, Stephen (2 March 2010). "Opera 10.5 brings new JavaScript engine". CNET. CBS Interactive. Archived from the original on 3 October 2013. Retrieved 30 January 2012.
cite-note-131. "JavaScriptCore β WebKit".
cite-note-142. Frequently Asked Questions, Microsoft, 13 March 2010, archived from the original on 22 March 2010, retrieved 18 March 2010
cite-note-153. "Targeting Edge vs. Legacy Engines in JsRT APIs". Retrieved 10 September 2015.
cite-note-164. "Carakan". Archived from the original on 31 May 2009. Retrieved 9 July 2009.
cite-note-175. "Opera Desktop Team's Blog | Opera". Archived from the original on 3 March 2006.
cite-note-auto-186. "Dev.Opera β Blog". dev.opera.com.
cite-note-197. "Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM".
cite-note-208. "Using Nashorn with different Java versions". GitHub. Retrieved 23 January 2025.
cite-note-219. "Constellation/iv". GitHub. Retrieved 15 November 2015.
cite-note-2210. "CL-JavaScript". Retrieved 14 September 2018.
cite-note-2311. "Support me". GitHub. 18 November 2021.
cite-note-2412. "Using Hermes". Facebook. Retrieved 9 April 2021.
cite-note-2513. "ECMAScript 2015 Language Specification β ECMA-262 6th Edition".
cite-note-2614. "An ES6 Virtual Machine Built in JavaScript". Archived from the original on 3 December 2012. Retrieved 1 December 2012.
cite-note-2715. "V4 - Qt Wiki". wiki.qt.io. Retrieved 24 April 2021.
cite-note-2816. "ECMAScript Language Specification ECMA-262 5.1 edition" (PDF). Ecma International. June 2011. Archived from the original (PDF) on 12 April 2015. Retrieved 31 January 2012.
cite-note-2917. "YAJI: Yet Another JavaScript Interpreter". Google Code. Retrieved 31 January 2012.
cite-note-3018. "FESI". September 2003. Archived from the original on 6 September 2012. Retrieved 6 August 2012.
cite-note-3119. "Microvium is very small". 11 June 2022. Retrieved 23 August 2022.
cite-note-3220. "Duktape". Retrieved 21 September 2013.
cite-note-3321. "moddable/documentation/xs/XS Conformance.md at public". GitHub.
cite-note-3422. "Apps for IoT". Archived from the original on 28 December 2018.
cite-note-3523. "Xs7 @ Tc-39".
cite-note-3624. "Jsish". Retrieved 30 April 2014.
cite-note-3725. "MuJS". Retrieved 22 September 2014.
cite-note-3826. "NGINX JavaScript in Your Web Server Configuration". YouTube. 26 October 2018. Archived from the original on 13 December 2021. Retrieved 30 October 2018.
cite-note-3927. "Let's build a JavaScript Engine". 2019.jsconf.eu. Retrieved 23 March 2022.
cite-note-4028. "GitHub - boa-dev/boa: Boa is an embeddable and experimental Javascript engine written in Rust". github.com. Retrieved 8 April 2022.
cite-note-4129. citerefclark2022Clark, Mitchell (18 August 2022). "The James Webb Space Telescope runs JavaScript, apparently". The Verge. Retrieved 2 September 2022.
cite-note-4230. "LibJS JavaScript engine". libjs.dev. Retrieved 30 June 2023.
cite-note-4331. "LibJS: Rip out the AST interpreter :^) Β· LadybirdBrowser/ladybird@2eaa528". GitHub. Retrieved 10 July 2024.
cite-note-4432. "Kiesel JavaScript Engine". kiesel.dev. Retrieved 9 April 2025.
cite-note-4533. citerefkiesel-jskiesel-js. "kiesel". Codeberg.org. Retrieved 9 April 2025.
cite-note-4634. "Linus Groh". linus.dev. Retrieved 18 April 2025.